home *** CD-ROM | disk | FTP | other *** search
/ Network Supervisor's Toolkit / Network Supervisor's Toolkit.iso / tools / lu62 / port / virt.h < prev    next >
C/C++ Source or Header  |  1996-07-10  |  3KB  |  116 lines

  1. /* k 0209    07/09/91    *//* to shorten loop & del restoredos */
  2. /* k 0213    08/09/91    *//* escape */
  3. /* k 0214    14/09/91    *//* escape */
  4. /* k 0215    14/09/91    *//* return if pvtcom==-1 */
  5. /* k 0224       23/09/91        *//* ebss */
  6. /* k 0233    12/10/91    *//* Trn modules */
  7. /* k 0269       18/11/91        *//* On-line exit */
  8. /* @0312 - 4/03/92 - Parallel Foreground 2th Algorithm */
  9. /* @0313 - 11/03/92 - int28h call */
  10. #include <ebss.h>               /* @0224 */
  11. /*#define DEBUG*/
  12. #include <stdarg.h>
  13. #include <stdlib.h>
  14. #include <ctype.h>
  15. #if (OS_TYPE==0)
  16. #include <dir.h>
  17. #include <process.h>
  18. #include <io.h>
  19. #endif
  20. #include <stdio.h>
  21. #include <string.h>
  22. #include <fcntl.h>
  23. #include <pconio.h>
  24. #include "emadapt.h"
  25. #if (OVL_TYPE==1)    /* @0233 */
  26. extern void Trn_handler();    /* @0233 */
  27. #endif            /* @0233 */
  28. #if defined(DEBUG)
  29. dosimit(short in)
  30. {}
  31. router ( ) {
  32. int key,lo,hi,input,inp;
  33.        do {
  34.   for (key=0;key<3;key++)    /* @0209 */
  35.     {int y=0;
  36.       y++;
  37.       y--;};/*ºáñÑ᪬á - timer tick imitation */
  38.           my_1ch ( );           /* TEMPORARY */
  39.       if (kbhit ( ) ) {
  40.        key = bioskey(0);
  41.        lo = key & 0X00FF;
  42.        hi=(key & 0XFF00) >> 8;
  43.        input=(lo==0) ? hi+256:lo;
  44.        inp=hot_key(input);        /* @0215 */
  45.         if (!(vt_flag & VT_MODE) && (inp <= 0 ))
  46.                        dosimit (input);
  47.         else {
  48.  
  49.       /* @0209 */
  50.       if ((vt_flag & VT_MODE) && (vt_flag & VT_IO) && (inp==0))
  51.                          handler (input);
  52.       else
  53.     pvtcom (input);        /* @0209 */
  54.  
  55.          }
  56.        } /*kbhit*/
  57.       }       while (lo!=26);
  58.  
  59. }
  60. #else
  61. router (key)
  62. int key;
  63.  {
  64. int input;
  65. short rt,lo,hi;       /* @0269  @0312 */
  66.  lo = key & 0X00FF;                 /*@0312    */
  67.  hi=(key & 0XFF00) >> 8;            /*@0312    */
  68.  key = ((lo == 0) ? hi + 256 : lo); /*@0312    */
  69.  
  70. #define FG_OPT    4      /*  ;@0309 @0312 */
  71.   if (!(optflg & FG_OPT))   {      /*  @0312  */
  72.    if (pvtcom (key)==-1) return -1;    /* @0215 *//* @0269 */
  73. while (1)
  74.   {
  75.    while (!bioskey(1)) call28 ();  /* &0313 */
  76.    input=getkey ( );
  77.    if ((vt_flag & VT_MODE) && (vt_flag & VT_IO) && (!hot_key (input))) {
  78. #if (OVL_TYPE==1)            /* @0233 */
  79.                        Trn_handler (input);    /* @0233 */
  80. #else                    /* @0233 */
  81.                        handler ( input );    /* @0233 */
  82. #endif                    /* @0233 */
  83.    }  else
  84.    if ((rt=pvtcom (input))<0)     /* @0209 *//* @0269 */
  85.        break;         /* @0209 */
  86.   }
  87.  } else {     /*  @0312  */
  88.    if ((vt_flag & VT_MODE) && (vt_flag & VT_IO) && (!hot_key (key))) { /*  @0312  */
  89. #if (OVL_TYPE==1)            /* @0233 */             /*  @0312  */
  90.                        Trn_handler (key);    /* @0233 */ /*  @0312  */
  91. #else                    /* @0233 */                         /*  @0312  */
  92.                        handler (key );    /* @0233 */ /*  @0312  */
  93. #endif                    /* @0233 */
  94.     rt=0;         /*  @0312  */
  95.    }  else          /*  @0312  */
  96.     rt=pvtcom (key);/*  @0312  */
  97.  }            /*  @0312  */
  98.   return rt;                    /* @0269 */
  99. }
  100. #endif
  101.  
  102. int hot_key (in)
  103.  int in;
  104.  {
  105.  if ((in>=CTRLF1)&&(in<=CTRLF10)) return (1+in-CTRLF1);
  106.  if (in==ALTX) return -1;
  107.  return 0;
  108.  }
  109.  
  110. /*
  111. put_in_video (unsigned x, unsigned y, char l) {
  112.   char far *a=MK_FP (vissegment,y*160+x*2-162);
  113.   *a=l;
  114. }  */
  115.  
  116.